Non-transitory computer-readable medium storing output instructions to control portable terminal and portable terminal

ABSTRACT

A portable terminal includes: a display; a user interface; a memory; a network interface; and a controller, the controller performs performing a deciding processing of deciding the display mode of instructions objects corresponding to the external instructions specified in the first specifying processing, based on attribute information; performing a display control processing of controlling the display to display a selection screen including instructions objects having the display mode decided in the deciding processing; performing a first receiving processing of receiving a user operation of selecting an object included in the selection screen, via the user interface; performing, in response to the operation of selecting a instructions object in the first receiving processing, an activation processing of activating an external instructions corresponding to the selected object; performing an designation information acquiring processing of acquiring designation information from the external instructions activated in the activation processing.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation application of U.S. application Ser.No. 15/172,307 filed on Jun. 3, 2016, which claims benefit of JapanesePatent Application No. 2015-114454 filed on Jun. 5, 2015, the contentsof which are incorporated by reference.

TECHNICAL FIELD

This disclosure relates to output instructions for making an outputdevice perform an output operation, and a portable terminal forexecuting the output instructions.

BACKGROUND

For example, the background art discloses a printing application whichcauses a user to designate photo data, Web page data, or the like storedin a portable terminal and can make a printer print images based on thedesignated data. In a case where the user designates photo data, Webpage data, or the like in the portable terminal, the printingapplication having the above described configuration can easily make aprinter print the designated data.

SUMMARY

Recently, the types of data with demands for easy printing in portableterminals is increasing. However, it is impossible to implement afunction of acquiring every type of data in a printing application.Also, not demands to make printers print data designated by users asthey are, but demand to make printers print data subjected to some typesof processing in portable terminals is increasing. However, it isimpossible to implement a function of performing every type ofprocessing on data in a printing application.

In view of the above, it is considered to add a function of acquiringdata from external applications to a printing application. In this case,the printing application becomes able to acquire specific types of datafrom external applications, or becomes able to acquire data subjected tospecific types of processing from external applications. However, whenthe number of external programs which are being provided increases, aproblem that it becomes difficult to find a desired external programfrom many external programs may occur.

This disclosure is to provide output instructions having an interfaceenabling a user to easily find an external instructions for implementinga desired processing from a plurality of external instructions.

In view of the above, a non-transitory computer-readable medium storesan output instructions to control a portable terminal including adisplay, a user interface, a memory, and a network interface, thenetwork interface being configured to be electrically connected to anoutput devices which is able to perform at least one of a plurality ofoutput operations, the memory being configured to store a plurality ofexternal instructions which are readable by the portable terminal, eachof the external instructions causing the portable terminal to perform atleast one of a processing of designating content data, which is to be atarget of an output operation, a processing of designating an outputdestination, to which the content data is to be output by the outputoperation, and a processing of designating operation conditions of theoutput operation, the output instructions and the external instructionsbeing executable by a processor. The output instructions cause theportable terminal to perform operations comprising: performing a firstspecifying processing of specifying external instructions stored in thememory; performing an attribute information acquiring processing ofacquiring the attribute information of the external instructionsspecified in the first specifying processing, the attribute informationincluding information associated with a processing content which isperformed by the portable terminal due to the specified externalinstructions; performing a deciding processing of deciding the displaymode of instructions objects corresponding to the external instructionsspecified in the first specifying processing, based on the attributeinformation; performing a display control processing of controlling thedisplay to display a selection screen including the instructions objectshaving the display mode decided in the deciding processing; performing afirst receiving processing of receiving a user operation of selecting anobject included in the selection screen, via the user interface;performing, in response to the operation of selecting a instructionsobject in the first receiving processing, an activation processing ofactivating an external instructions corresponding to the selectedobject; performing an designation information acquiring processing ofacquiring designation information from the external instructionsactivated in the activation processing, the designation informationbeing information representing at least one of the content data, theoutput destination, and the operation conditions designated by theactivated external instructions; and performing an output instructingprocessing of transmitting output instructing information generatedbased on the designation information, to the output device via thenetwork interface, the output instructing information includinginformation causing the output device to perform the output operation.

According to this disclosure, since the display mode of the instructionsicons on the selection screen are determined based on the attributeinformation, it becomes easy for a user to find a external instructionsfor implementing a desired processing, from a plurality of externalinstructions.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and additional features and characteristics of thisdisclosure will become more apparent from the following detaileddescriptions considered with the reference to the accompanying drawings,wherein:

FIG. 1 is a view illustrating a schematic configuration of a recordingsystem 100 according to an embodiment;

FIG. 2A is a block diagram of a MFP 10, and FIG. 2B is a block diagramof a portable terminal 50;

FIGS. 3A and 3B show examples of information stored in a data storagearea 62B, wherein FIG. 3A shows a program information list, and FIG. 3Bshows a device information record;

FIG. 4A and FIG. 4B are a flow chart of a main processing;

FIG. 5 is a flow chart of a screen generating processing;

FIG. 6 is a flow chart of a rearranging processing;

FIG. 7 is a flow chart of a device selecting processing;

FIGS. 8A and 8B show display examples of a display 53, wherein FIG. 8Ashows a menu screen, and FIG. 8B shows a main menu which is displayed ina case where a MFP 10A has been designated as a designation device;

FIGS. 9A and 9B show display examples of the display 53, wherein FIG. 9Ashows a device selection screen, and FIG. 9B shows a main menu which isdisplayed in a case where a MFP 10B has been designated as a designationdevice;

FIGS. 10A and 10B show display examples of the display 53, wherein FIG.10A shows a data acquisition source selection screen, and FIG. 10B showsa photo data selection screen; and

FIGS. 11A and 11B show display examples of the display 53, wherein FIG.11A shows a preview screen, and FIG. 11B shows an example of a mapdesignation screen.

DETAILED DESCRIPTION

Hereinafter, an embodiment of this disclosure will be described withreference to appropriate drawings. Also, it goes without saying that theembodiment to be described below is just an example of this disclosure,and the embodiment of this disclosure can be appropriately modifiedwithout changing the scope of this disclosure.

FIG. 1 is a view schematically illustrating a recording system 100according to the present embodiment. The recording system 100 shown inFIG. 1 is composed of multi-function peripherals 10A and 10B (whichhereinafter will also be referred to collectively as “MFPs 10”) and aportable terminal 50. The MFPs 10 and the portable terminal 50 areelectrically connected. The MFPs 10 and the portable terminal 50 may beconnected via a communication network 101 such as a wired LAN or awireless LAN, or may be connected by USB cables or the like. Also, astate where a plurality of devices is able to be communicated is anexample of a state where the plurality of devices is electricallyconnected.

As shown in FIG. 2A, each MFP 10 mainly includes a printer 11, a scanner12, a FAX unit 13, a display 23, a user interface 24, a networkinterface 25, a memory slot 26, a CPU 31, a memory 32, and acommunication bus 33. Individual components constituting the MFP 10 areconnected to one another via the communication bus 33. The MFPs 10 areexamples of output devices.

The printer 11 performs a printing operation of recording imagesrepresented by image data on recording sheets. Recording sheets areexamples of sheets or recording media. As the recording scheme of theprinter 11, a known scheme such as an inkjet scheme or anelectrophotographic scheme can be used. The scanner 12 performs ascanning operation of reading images recorded on documents, therebygenerating image data. The FAX unit 13 performs a FAX transmittingoperation and a FAX receiving operation of transmitting or receivingimage data in a scheme based on a FAX protocol.

The printing operation and the FAX transmitting operation of theplurality of operations described above are examples of outputoperations of outputting contents represented by content data. Also, theprinting operation is an example of a first operation, and the FAXtransmitting operation is an example of a second operation. However,operations which is performed by the MFP 10 are not limited thereto. TheMFP 10 may perform, an example of the output operations, a mediumstorage operation of storing content data, acquired from the portableterminal 50, in a portable storage medium mounted in the memory slot 26.The MFP 10 may perform, as another example of the output operations, anoperation of controlling the display 23 to display images represented byimage data acquired from the portable terminal 50.

Operations which is able to be performed by the MFPs 10A and 10B may bedifferent. In the present embodiment, the MFP 10A is able to performonly the printing operation, and the MFP 10B is able to perform theprinting operation and the FAX transmitting operation. Also, an outputdevice is not limited to a device which is able to perform a pluralityof operations, and may be able to perform only a single operation. In anMIB of each MFP 10, for example, a device ID identifying thecorresponding MFP 10, and second operation IDs identifying operationswhich is able to be perfomed by the corresponding MFP 10 may be definedin advance. The device ID is an example of device identificationinformation, and the second operation IDs are examples of secondoperation identification information. Hereinafter, a device ID andsecond operation IDs registered in an MIB will also be referred to as“device information”.

The display 23 has a display screen for displaying a variety ofinformation. An LCD, an OELD, or the like can be used as the display 23.

The user interface 24 receives user's operations for selecting objectsdisplayed on the display screen of the display 23. Specifically, theuser interface 24 has buttons, and outputs various operation signalsassociated with pushed buttons, to the CPU 31. Also, the user interface24 may have a membranous touch sensor superimposed on the display screenof the display 23. That is, the display 23 may be configured as a touchpanel display.

Meanwhile, the term “object” means an image which is selectable byoperating the user interface 24 of the user. As an example, objects maybe character strings displayed on the display 23, and when the userpushes direction keys of the user interface 24, one of the objects maybe highlighted and then the user pushes a determination button of theuser interface 24, the highlighted object may be selected. As anotherexample, in a case where the user interface 24 is a touch panel, theobjects may be icons, buttons, links, and the like displayed on thedisplay 23, and an object displayed at a touched position may beselected.

The user interface 24 implemented as a touch panel receives user'soperations touching the display screen of the display 23. Also, the userinterface 24 outputs position information representing the touchedpositions on the display screen. As the upper left end of the displayscreen is the origin, and the right direction is the positive directionof the x axis, and the downward direction is the positive direction ofthe y axis, the position information can be expressed as coordinates (x,y) on an x-y plane. The touch panel can be used a known scheme such asan electrostatic capacitance scheme or a resistive film scheme.

Incidentally, in this specification, the term “touch” includes everyoperation by bringing inputting media into contact with the displayscreen. Touch examples are a tap operation by detaching a touchedinputting medium from the display screen in a predetermined time, a longtouch operation by stopping a touched inputting medium on the displayscreen, a slide operation by sliding a touched inputting medium on thedisplay screen, a flick operation by sliding a touched inputting mediumwith acceleration equal to or higher than a threshold value, a pinch-inoperation by sliding two inputting media touched at different locationson the display screen toward each other, a pinch-out operation bysliding two inputting media touched at different locations on thedisplay screen away from each other, and the like.

Also, the term “touch” may include not only a case where an inputtingmedium is brought into contact with the display screen but also a casewhere an inputting medium is brought to a position close to the displayscreen. Further, the inputting media may be user's fingers, touch pens,etc. Hereinafter, an operation by taping the position of an icondisplayed on the display 53 will be described as an example of anoperation of selecting the corresponding icon.

The network interface 25 is an interface for performing communicationwith external devices via the communication network 101. That is, theMFP 10 outputs a variety of information to the portable terminal 50 viathe network interface 25, and receives a variety of data or a variety ofinformation from the portable terminal 50 via the network interface 25.A specific communication procedure of the network interface 25 is notlimited. For example, Wi-Fi (a trademark of the Wi-Fi Alliance) can beused. Also, the MFP 10 may have an installation interface such as a USBcable, instead of the network interface 25.

The memory slot 26 is an interface which a portable storage medium canbe mounted to or removed from. The CPU 31 can read out data orinformation from a portable storage medium mounted to the memory slot26, or write data or information in a portable storage medium mounted tothe memory slot 26. Although specific examples of a portable storagemedium are not limited, and the portable storage medium may be a USBmemory, a SD card, a CD-ROM, and a DVD-ROM.

The CPU 31 controls the operation of the whole MFP 10. Based on avariety of information which is output from the user interface 24, avariety of information acquired from external devices via the networkinterface 25, and the like, the CPU 31 acquires various programs (to bedescribed below) from the memory 32 and executes those programs. Thatis, the CPU 31 and the memory 32 constitute an example of a controller.

The memory 32 has a program storage area 32A and a data storage area32B. The program storage area 32A stores an OS 34 and a control program35. Also, the control program 35 may be a single program, or may be anaggregate of a plurality of programs. The data storage area 32B storesdata or information necessary for executing the control program 35.

Also, in this specification, the term “data” and the term “information”represents a bit or a bit string which can be handled by a computer.That is, the two term are in common in that view. However, when thecomputer handles “data,” it is unnecessary for the computer to recognizethe meanings of individual bits. In contrast, when the computer handles“information,” an operation of the computer is diverged according to themeanings of individual bits. Also, a term “instruction” represents acontrol signal for prompting a device being a transmission destinationto perform a subsequent operation. An instruction may include“information” or may have characteristics as “information”.

Further, even when “data” or the “information” is changed in format (forexample, a text format, a binary format, a flag format, and so on) foreach computer, as long as it can be recognized that the meaning of thechanged data or information is identical to the meaning of the originaldata or information, the changed data or information are handled as dataor information identical to the orginal data or information. Forexample, information indicating “two” may be saved in one computer as anASCII code “0x32” which is text format information, and may be saved inanother computer as a binary number “10” which is binary formatinformation.

However, the term “data” and the term “information” are not strictlydistinguished and are permitted to be exceptionally handled. Forexample, data may be temporarily handled as information, and informationmay be temporarily handled as data. Further, while one thing is handledas data in one device, the one thing may be handled as information inanother device. Furthermore, information may be taken out from amongdata, or data may be taken out from among information.

The memory 32 may be configured, for example, by a RAM, a ROM, anEEPROM, an HDD, a buffer included in the CPU 31, or a combination ofthem.

Also, the memory 32 may be a computer-readable storage medium. Thecomputer-readable storage medium is a non-transitory medium. Thecomputer-readable storage medium is a non-transitory medium. Examples ofthe non-transitory medium include not only the above described examplesbut also other recording media such as a CD-ROM and a DVD-ROM. Also, thenon-transitory medium is also a tangible medium. Meanwhile, an electricsignal which carries a program which is downloaded from a server or thelike on the Internet is a computer-readable signal medium which is onetype of computer-readable medium, but is not non-transitorycomputer-readable storage media.

The programs stored in the program storage area 32A are executed by theCPU 31. However, in this specification, sometimes, the operation of eachprogram will be described without mentioning the CPU 31. That is, in thefollowing description, a description “a program “A” performs aprocessing “A”” may mean that “the CPU 31 performs the processing “A”described in the program “A””. This meaning is common to the portableterminal 50 to be described below.

Also, the programs stored in the program storage area 32A determineevents and operate according to the determination results. However, inthis specification, the operation of each program will be describedwithout describing the determination processing. In other words, in thefollowing description, a description “the control program performs aprocessing “A” according to a condition “A”” may mean that “the controlprogram determines whether the condition “A” is satisfied, and when itis determined that the condition “A” is satisfied, the control programperforms the processing “A””.

Also, the programs stored in the program storage area 32A specify,extract, or select data or the like. A processing of specifying data orthe like is, for example, a processing of specifying a data itemaccording to a condition from among a plurality of data items, andstoring the specified data item or an information item identifying thespecified data item in a predetermined storage area. Informationidentifying data or the like is, for example, identification informationidentifying the data or the like, the index of an array where the dataor the like is stored, or the pointer of a storage area where the dataor the like is stored. This meaning is common to processing of a programfo, extracting, or selecting data or the like.

Also, the programs stored in the program storage area 32A acquire dataand the like. A processing in which a program acquires data or the likemay mean, for example, a processing of reading out data from a storagearea where the data is stored. A processing in which a program acquiresdata or the like may mean, for example, a processing of receiving datafrom an external device. A processing in which a program acquires dataor the like may mean, for example, a processing of requesting anexternal device to transmit data and receiving the data as a responsefrom the external device. A processing in which a program acquires dataor the like may mean, for example, a processing of receiving data fromanother program such as an OS. A processing in which a program acquiresdata or the like may mean, for example, a processing of requestinganother program to output data and receiving data from another program.

An OS 34 is a basic program which provides an API for controlling theprinter 11, the scanner 12, the FAX unit 13, the display 23, the userinterface 24, the network interface 25, the memory slot 26, and so onwhich are hardware constituting the MFP 10. That is, each of the abovedescribed programs controls a corresponding piece of hardware by callingthe API which is provided by the OS 34. However, in this specification,the operation of each program will be described without mentioning theOS 34. That is, in the following description, a description “a program“B” controls hardware “C”” may means that “the program “B” controls thehardware “C” via the API of the OS 34.” This meaning is common to theportable terminal 50 to be described below.

As shown in FIG. 2B, the portable terminal 50 mainly includes a display53, a user interface 54, a network interface 55, a CPU 61, a memory 62,and a communication bus 63. The display 53, the user interface 54, thenetwork interface 55, the CPU 61, the memory 62, and the communicationbus 63 which are included in the portable terminal 50 are similar to thedisplay 23, the user interface 24, the network interface 25, the CPU 31,the memory 32, and the communication bus 33 which are included in theMFP 10, and thus repetitive descriptions thereof will not be made. TheCPU 61 and the memory 62 is an example of a controller. Examples of theportable terminal 50 is a smart phone, a portable phone, and a tabletterminal.

In the program storage area 62A of the memory 62, an OS 64, an outputprogram 65 as an example of output instructions, a map program 66, andprograms “A”, “B”, and “C” (not shown) as examples of externalinstructions are stored. Also, in the data storage area 62B of thememory 62, a variety of information shown in FIGS. 3A and 3B is stored.Further, in the data storage area 62B, a photo data folder for storingphoto data may be provided. Photo data is an example of content data.However, the content data may be image data, video data, music data, orthe like.

As shown in FIGS. 8A to 11A, the display 53 of the portable terminal 50is divided into a common display area 80 and a program display area 81.In the common display area 80, regardless of the display content of theprogram display area 81, a status bar is displayed by the OS 64. In thestatus bar, a variety of information is displayed by the OS 64. In thestatus bar, for example, the title of a screen displayed on the programdisplay area 81, an icon representing the remaining battery capacity ofthe portable terminal 50, an icon representing the communication stateof the network interface 55, and an icon representing a pushnotification which the portable terminal 50 has received from anexternal service, and so on are displayed. In the program display area81, a screen which is generated by a program which is executed in theforeground is displayed.

Hereinafter, a description “a program controls the display 53 to displaya screen” means that a program screen is displayed in the programdisplay area 81 and a status bar is displayed in the common display area80. The program screen means a screen which is displayed in the programdisplay area 81 in response to an instruction of the program. However,the display 53 may be switchable between a divided screen mode in whichthe display area is divided into the common display area 80 and theprogram display area 81, and a full screen mode in which the whole ofthe display area becomes the program display area 81.

Examples of the OS 64 include Android (a registered trademark of GoogleInc.), iOS (a registered trademark of Cisco Systems, Inc.), WindowsPhone (a registered trademark of Microsoft Corporation), and anoperating system. The OS 64 can execute a plurality of programsinstalled in the portable terminal 50, in parallel. A plurality ofprograms can be virtually executed in parallel, for example, in a timedivision multiplex scheme. Also, when the OS 64 executes a plurality ofprograms in parallel, it executes one of them in the foreground, andexecutes the other programs in the background.

The foreground is, for example, a state where a program screen accordingto execution of the corresponding program is displayed on most of thedisplay area of the display 53. Most of the display area may refer to,for example, the program display area 81. The background is, forexample, a state where a program screen according to execution of aprogram different from the corresponding program is displayed in most ofthe display area of the display 53. In other words, when the portableterminal 50 executes a plurality of programs in parallel, the portableterminal can control display 53 to display only program screensaccording to execution of a program which is executed in the foreground.

The output program 65 is a program for making a MFP 10, connected viathe network interface 55, perform an output operation of content data.The output program 65 transmits information, such as recordinginstructing information for making the multi-function peripheral performthe printing operation, or FAX instructing information for making themulti-function peripheral perform the FAX transmitting operation, to theMFP 10 via the network interface 55. The recording instructinginformation and the FAX instructing information are examples of outputinstructing information. Also, before transmitting the outputinstructing information, the output program 65 controls the display 53to display a preview screen.

The map program 66 and the programs “A”, “B”, and “C” are examples ofexternal programs. In this specification, the external programs areprograms, which are separated from the output program 65 and can beindependently executed, and which are different from the subroutines ofthe output program 65. For example, the external programs may operate asso-called plug-ins of the output program 65.

The map program 66 receives map image data from a map server (notshown), controls to display a map image based on the map image data, andmakes the user select an arbitrary area of the displayed map image, andgenerates image data representing a map image of the selected area, andtransfers the generated image data to the output program 65. Also, themap program 66 may receive user's operations of instructing editing ofthe map image of the selected area, and generate image data representingthe map image edited according to the received user's operations, andtransfer the generated image data to the output program 65. However, theoutput program 65 does not need to be able to receive map image datafrom the map server (not shown). Also, the output program 65 does notneed to be able to edit map images.

The program “A” edits images according to user's operations, andtransfer image data representing the edited images, to the outputprogram 65. Also, the program “A” may be a so-called image editingprogram which makes the user select image data, and displays an imagerepresented by the selected image data, and performs a type of editingwhich cannot be performed by the output program 65, on the displayedimage, and generates image data representing the edited image, andtransfers the generated image data to the output program 65. Examples ofthe type of editing which cannot be performed by the output program 65include editing for converting an image to a stereoscopic image, editingfor incorporating a frame image or a template image in an image, andediting for adding a stamp image or a mark image to an image.

The program “B” makes the user select operation conditions, such asscanning operation conditions like a read resolution, a read color mode(such as a color mode or a monochrome mode), and a file format (such asJPEG, TIFF, or PDF) for data to be generated, and transfers informationrepresenting the selected operation conditions (hereinafter, referred toas operation condition information) to the output program 65. Also, theprogram “B” may be a so-called a scan data processing program whichgenerates operation condition information according to user'soperations, and transfers the generated operation condition informationto the output program 65, and receives scan data generated according tothe operation condition information by a MFP 10, via the output program65, and performs a predetermined processing which cannot be performed bythe output program 65, on the scan data.

Examples of the predetermined processing which cannot be performed bythe output program 65 include a processing of performing a type ofediting which cannot be performed by the output program 65, on scandata, and a writing processing of writing write information which cannotbe written by the output program 65, a saving processing of savingrelated information which cannot be associated with scan data by theoutput program 65, in association with the scan data, and a storingprocessing of storing scan data in an area in which the scan data cannotstored by the output program 65. Examples of the write informationinclude tag data representing an event name, an event time, eventparticipants, the user name of the program “B”, and the like related toscan documents. Examples of the related information include filesrelated to scan documents, and files in which tag data has been written.Examples of the storing processing include a processing of accessing anexternal server which cannot be accessed by the output program 65, andstoring scan data in the external server.

The program “C” makes the user select a phone number specifying anexternal device as a FAX transmission destination, and transfers theselected phone number to the output program 65. Also, the program “C”may be a so-called FAX data generating program which generates FAX datawhich cannot be generated by the output program 65, according to user'soperations, and makes the user select a phone number which cannot beselected by the output program 65, and transfers the generated imagedata and the selected phone number to the output program 65. Examples ofthe FAX data which cannot be generated by the output program 65 includecolor FAX data, FAX data of a size which cannot be generated by theoutput program 65, and FAX data in which the above described writeinformation has been written. Examples of the phone number which cannotbe selected by the output program 65 include a phone number receivedfrom an external server which cannot be accessed by the output program65.

In other words, the external programs can be expressed as programs whichcomplement some of the processing of the output program 65 necessary formaking an output device perform an output operation. Also, the externalprograms may complement some of the processing of the output program 65in a way different from that of the processing of the output program 65or in the same way as that of the output program 65.

As an example, the map program 66 and the program “A” may perform someprocessing, such as a processing of receiving designation of contentdata to be a target of a printing operation, in stead of the outputprogram 65. Also, examples of the processing of receiving designation ofcontent data include a processing of receiving an image data selectioninstruction, and a processing of receiving an image edit instruction. Asanother example, the program “B” may perform some processing, aprocessing of receiving designation of operation conditions for ascanning operation, in stead of the output program 65. Also, examples ofthe processing of receiving designation of operation conditions for ascanning operation include a processing of receiving selection ofoperation conditions. As a further example, the program “C” may performa processing of receiving designation of an output destination to whichcontent data is to be output in a FAX transmitting operation, in steadof the output program 65. Also, examples of the processing of receivingdesignation of an output destination to which content data is to beoutput in a FAX transmitting operation include a processing of receivingselection of a phone number to be used as a FAX data destination.

As shown in FIG. 3A, the data storage area 62B stores program IDs, andfirst operation IDs and priority information associated with the programIDs. Hereinafter, the information shown in FIG. 3A will also be referredto collectively as a “program information list”, and each record shownin FIG. 3A will also be referred to as a “program information record”.In other words, the program information list can include a plurality ofprogram information records. Also, the first operation IDs and thepriority information will also be referred to as attribute information.

As an example, in a case where an external program is stored in theportable terminal 50, the output program 65 may receive a programinformation record including the program ID of the correspondingexternal program, from a server (not shown) via the network interface55, and add the received program information record in the programinformation list. As another example, the output program 65 may acquirea program information record from an external program installed in theportable terminal 50, and add the acquired program information record inthe program information list.

The program IDs are examples of program identification informationidentifying external programs. In the present embodiment, the mapprogram 66 is identified by a program ID “001”, and the program “A” isidentified by a program ID “002”, and the program “B” is identified by aprogram ID “003”, and the program “C” is identified by a program ID“004”.

A first operation ID is an example of first operation identificationinformation identifying an output operation corresponding to an externalprogram identified by a corresponding program ID. In other words, afirst operation ID identifies an output operation which is able to beperformed when an external program complements a processing. In thepresent embodiment, the first operation IDs of the map program 66 andthe program “A” represent a printing operation, and the program “B” isnot associated with any first operation ID, and the first operation IDof the program “C” represents a FAX transmitting operation. The firstoperation IDs are examples of information related to the contents ofprocessing which the external programs make the portable terminal 50perform. Also, a first operation ID and a second operation IDidentifying the same operation have the same value. Hereinafter, thefirst operation IDs and second operation IDs will also be referred tocollectively as operation IDs.

The priority information represents priorities of the external programsidentified by corresponding program IDs. In the present embodiment, as avalue represented by priority information is large, the priority ishigh, and as a value represented by priority information is small, thepriority is low. The value of priority information may be fixed orvariable. The output program 65 may increase the priority of an externalprogram whenever the corresponding external program is activated in STEPS23 (to be described below). In other words, priority information maycorrespond to the number of times a corresponding external program isactivated.

As shown in FIG. 3B, the data storage area 62B can store a device ID anda second operation ID associated with the corresponding device ID.Hereinafter, a record shown in FIG. 3B will also be referred to as a“device information record”. Device IDs are examples of deviceidentification information identifying the MFPs 10A and 10B. In thepresent embodiment, the device ID of the MFP 10A is “MFP-A”, and thedevice ID of the MFP 10B is “MFP-B”. A second operation ID identifies anoutput operation which is able to be performed by a MFP 10 which isidentified by a corresponding device ID. An operation information recordis not registered in advance when the output program 65 is installed,but is registered in a device selecting processing to be describedbelow. In other words, a device information record includes a device IDand a second operation ID registered in a MIB of a MFP 10.

With reference to FIGS. 4 to 11B, the operation of the recording system100 according to the present embodiment will be described. The recordingsystem 100 receives user's operations of designating content data, anoutput operation of outputting the content data, and an output device toperform the output operation, by the portable terminal 50, and makes thedesignated output device perform the designated output operation of thedesignated content data. Hereinafter, content data designated by theuser will be referred to as “designation data”, and an output operationdesignated by the user will be referred to as a “designation operation”,and an output device designated by the user will be referred to as a“designation device”.

First, the OS 64 of the portable terminal 50 displays a menu screen inthe program display area 81 and displays a status bar in the commondisplay area 80. FIG. 8A shows an example of the menu screen. A menuscreen shown in FIG. 8A includes a plurality of program icons 111, 112,113, 114, and 115. The program icons 111 to 115 correspond to programsinstalled in the portable terminal 50. For example, the program icon 111corresponds to the output program 65, and the program icon 112corresponds to the map program 66, and the program icon 113 correspondsto the program “A”, and the program icon 114 corresponds to the program“B”, and the program icon 115 corresponds to the program “C”.

In this case, the OS 64 receives selection of any one of the programicons 111 to 115 via the user interface 54. When the OS 64 receivesselection of one of the program icons 111 to 115 via the user interface54, the OS 64 activates a program corresponding to the selected programicon and performs the activated program in the foreground. Hereinafter,a processing in a case where the program icon 111 is selected will bedescribed.

When the output program 65 of the portable terminal 50 is activated bythe OS 64, in STEP S11, the output program performs a screen generatingprocessing of generating a main screen shown in FIG. 8B. The screengenerating processing is a processing of generating a screen to bedisplayed on the display 53, wherein the screen generating processing isa processing of determining a plug-in icon display mode to be describedbelow. With reference to FIG. 5, details of the screen generatingprocessing will be described.

First, in STEP S31, the output program 65 specifies the externalprograms stored in the program storage area 62A, that is, installed inthe portable terminal 50. Subsequently, in STEP S32, the output program65 reads out attribute information of the external programs specified inSTEP S31. The processing of STEP S31 is an example of a first specifyingprocessing, and the processing of STEP S32 is an example of an attributeinformation acquiring processing. Also, a program information recordcorresponding to the program ID “003” does not include any firstoperation ID. For this reason, the output program 65 cannot read a firstoperation ID corresponding to the program ID “003” in STEP S32. In acase where the output program 65 cannot read out a first operation IDcorresponding to a program ID, the output program temporarily storesstatus information representing that any first operation ID has notassociated with the corresponding program ID, in the data storage area62B.

Specifically, the output program 65 reads out the program informationlist shown in FIG. 3A from the data storage area 62B. Thereafter, inSTEP S31, the output program 65 specifies the external programsidentified by the program IDs included in the read program informationlist, as external programs installed in the portable terminal 50.Subsequently, in STEP S32, the output program 65 acquires the attributeinformation included in the read program information list.

Subsequently, in STEP S33, the output program 65 determines whether anydevice information record is stored in the data storage area 62B. Whenit is determined that a device information record is stored in the datastorage area 62B (“Yes” in STEP S33), in STEP S34, the output program 65compares each first operation ID included in the attribute informationacquired in STEP S32, with a second operation ID included in thecorresponding device information record. Also, in case where a pluralityof program information records has been registered in the programinformation list, the output program 65 performs the processing of STEPSS34 to S36 on each of the plurality of program information records (STEPS37). The processing of STEP S33 is an example of a second determiningprocessing, and the processing of STEP S34 is an example of a firstdetermining processing.

When it is determined that the first operation ID “PRINT OPERATION”corresponding to the program ID “001” is identical with the secondoperation ID “PRINT OPERATION” (“Yes” in STEP S34), in STEP S35, theoutput program 65 activates a plug-in icon 121 (see FIG. 8B)corresponding to the program ID “001”. Similarly, the output programactivates a plug-in icon 122 (see FIG. 8B) corresponding to the programID “002”. Meanwhile, when it is determined that the first operation ID“FAX TRANSMITTING OPERATION” corresponding to the program ID “004” isnot identical with the second operation ID “PRINT OPERATION” (“No” inSTEP S34), in STEP S36, the output program 65 deactivates a plug-in icon124 (see FIG. 9B) corresponding to the program ID “004”. Further,although not shown, the output program 65 determines whether there isany program ID which has not been associated with any first operationID, with reference to the status information stored in the data storagearea 62B. When it is determined that there is a program ID associatedwith a first operation ID, the output program 65 activates the plug-inicon of the corresponding program ID. In the present embodiment, aplug-in icon 123 (see FIG. 8B) of the program ID “003” is activated.

Meanwhile, when it is determined that any device information record isnot stored in the data storage area 62B (“No” in STEP S33), in STEP S38,the output program 65 activates all of the plug-in icons 121 to 124 ofthe external programs specified in STEP S31. Also, “activation of anicon” means a display mode in which the corresponding icon can beselected via the user interface 54. Meanwhile, “deactivation of an icon”means a display mode in which the corresponding icon cannot be selectedvia the user interface 54. In the present embodiment, active icons aredisplayed in screens, and inactive icons are not displayed in screens.

Subsequently, in STEP S39, the output program 65 performs a rearrangingprocessing. STEPS S35 to S39 represent an example of a decidingprocessing. The rearranging processing is a processing of determiningthe layout and arrangement order of the plug-in icons 121 to 123 whichare activated. With reference to FIG. 6, details of the rearrangingprocessing will be described.

First, in STEP S41, the output program 65 confirms the first operationIDs corresponding to the plug-in icons 121 to 123. In a case where thenumber of the plug-in icons 121 to 123 to be displayed on a screen istwo or more, the output program 65 performs the processing of STEPS S41to S44 on each of the plurality of plug-in icons 121 to 123 (STEP S45).However, it is unnecessary to perform the processing of STEPS S41 to S44on the plug-in icon 124 which is not included in the screen.

Then, when the first operation ID represents “PRINT OPERATION” (“PRINTOPERATION” in STEP S41), in STEP S42, the output program 65 includescorresponding plug-in icons 121 and 122 in a print icon area 125 (seeFIG. 8B). Meanwhile, when the first operation ID represents “FAXTRANSMITTING OPERATION” (“FAX TRANSMITTING OPERATION” in STEP S41), inSTEP S43, the output program 65 includes corresponding plug-in icons ina FAX icon area 126 (see FIG. 9B) to be described below. Also, whenthere is not any associated first operation (“UNSET” in STEP S42), inSTEP S44, the output program 65 includes the corresponding plug-in icon123 in a dedicated icon area 127 (see FIG. 8B) to be described below.The print icon area 125 is an example of a first display area, and theFAX icon area 126 is an example of a second display area, and thededicated icon area 127 is an example of a third display area.

Subsequently, in STEP S46, the output program 65 determines thearrangement order of the plug-in icons 121 to 123, based on the priorityinformation. Specifically, the output program 65 sets the arrangementorder of the plurality of plug-in icons 121 to 123 to the descendingorder of priorities represented by the corresponding priorityinformation. Also, with respect to each of the icon areas 125, 126, and127, the output program 65 determines the arrangement order of plug-inicons to be included in the corresponding display area.

As an example, in a case where the plurality of plug-in icons isarranged in an up-down direction, plug-in icons having high prioritiesare disposed on the upper side, and plug-in icons having low prioritiesare disposed on the lower side. As another example, in a case where theplurality of plug-in icons is arranged in a left-right direction,plug-in icons having high priorities are disposed on the left side, andplug-in icons having low priorities are disposed on the right side.However, the arrangement order of the plug-in icons is not limitedthereto.

Referring to FIG. 4A again, in STEP S12, the output program 65 controlsthe display 53 to display the main screen shown in FIG. 8B. The mainscreen shown in FIG. 8B includes an operation icon 116, a device icon118, and the plug-in icons 121, 122, and 123, but does not include theplug-in icon 124. The processing of STEP S12 is an example of a displaycontrol processing. The main screen is an example of a selection screenor an operation selection screen.

The operation icon 116 is an example of an operation designation objector a first object corresponding to an output operation which is able tobe performed by the designation device. The device icon 118 is anexample of a device designation object corresponding to a processing ofdesignating the designation device. On the device icon 118, the deviceID “MFP-A” identifying the MFP 10A, which is a designation device atthat moment, is indicated. Also, in the main screen which is displayedduring activation of the output program 65, the device icon 118represents that the MFP 10A identified by the device ID “MFP-A” includedin the device information record has been designated as the designationdevice. Also, the operation icon 116 corresponds to the printingoperation identified by the second operation ID included in the deviceinformation record. Meanwhile, in a case where any device informationrecord has not been registered, on the device icon 119, a characterstring such as “UNSELECTED” may be displayed, and any operation icon maynot be displayed.

The plug-in icons 121 to 123 are examples of program objectscorresponding to the external programs. In the main screen, the activeplug-in icons 121 to 123 are displayed in a mode determined in thescreen generating processing. In other words, the plug-in icons 121 and122 are disposed in the print icon area 125 adjacent to the operationicon 116. Also, in the print icon area 125, the plug-in icon 121 isdisposed on the left side from the plug-in icon 122. Further, theplug-in icon 123 is disposed in the dedicated icon area 127 which isdifferent from the print icon area 125 and is farther from the operationicon 116 than the print icon area 125 is. Also, as shown in the exampleof FIG. 8B, the plug-in icon 123 which is disposed in the dedicated iconarea 127, that is, the plug-in icon 123 which has not been associatedwith any output operation may be displayed smaller than the otherplug-in icons 121 and 122.

Subsequently, in STEP S13, the output program 65 receives selection ofany one of the various icons included in the main menu, via the userinterface 54. The processing of STEP S13 is an example of a firstreceiving processing. When the output program 65 receives selection ofthe position of the device icon 118 via the user interface 54 (“DEVICEICON” in STEP S13), in STEP S14, the output program 65 performs a deviceselecting processing. The device selecting processing is a processing ofmaking the user select a designation device. With reference to FIG. 7,details of the device selecting processing will be described.

First, in STEP S51, the output program 65 searches for a plurality ofMFPs 10 being able to perform communication via the network interface55. The processing of STEP S51 is an example of a second specifyingprocessing. Subsequently, in STEP S52, the output program 65 controlsthe display 53 to display a device selection screen. FIG. 9A shows anexample of the device selection screen. A device selection screen shownin FIG. 9A includes device icons 131 and 132. The device icons 131 and132 correspond to the MFPs 10A and 10B searched in STEP S51. Also, onthe device icons 131 and 132, there are written the device IDs of thecorresponding MFPs 10A and 10B.

Subsequently, in STEP S53, the output program 65 receives selection ofan icon included in the device selection screen, via the user interface54. For example, when the output program 65 receives selection of thedevice icon 132 via the user interface 54 (“Yes” in STEP S53), in STEPS54, the output program acquires the device information of the MFP 10Bcorresponding to the device icon 132. Here, the device ID “MFP-B”, andtwo second operation IDs representing “PRINT OPERATION” and “FAXTRANSMITTING OPERATION” are acquired. The processing of STEP S53 is anexample of a second receiving processing, and the processing of STEP S54is an example of a device information acquiring processing.

For example, in STEP S54, the output program 65 acquires deviceinformation stored in the MIB, by using SNMP. Specifically, the outputprogram 65 transmits a device information transmission request to theMFP 10 via the network interface 55. Subsequently, the output program 65receives the device information as a response from the MFP 10 via thenetwork interface 55. Also, the information registered in the MIB of theMFP 10 may be model information representing the model of the MFP 10. Inthis case, the output program 65 accesses to correspondence informationbetween model information and second operation IDs corresponding to themodel information, and acquires the second operation IDs correspondingto the received model information. In other words, the correspondenceinformation may information representing operations which is able to beperformed by the MFP 10 of the model represented by the modelinformation. Also, the correspondence information may be stored in theportable terminal 50 in advance, or may be stored in a cloud server (notshown) in advance.

Subsequently, in STEP S55, the output program 65 stores a deviceinformation record including the device ID “MFP-B” and the secondoperation IDs “PRINT OPERATION” and “FAX TRANSMITTING OPERATION”corresponding to the selected device icon 132 (hereinafter, referred toas a “new device information record”) in the data storage area 62B. Theprocessing of STEP S55 is an example of storage control processing.Also, in a case where any operation information record is not stored inthe data storage area 62B, the output program 65 newly stores the newoperation information record in the data storage area 62B. Meanwhile, ina case where an operation information record (hereinafter, referred toas an old operation information record) is stored in the data storagearea 62B, the output program 65 overwrites the old operation informationrecord with the new operation information record

Referring to FIG. 4A again, the output program 65 generates the mainscreen shown in FIG. 9B (in STEP S11) and controls the display 53 todisplay the main screen shown in FIG. 9B (in STEP S12). In other words,after the device selecting processing of STEP S14, the output program 65performs the screen generating processing of STEP S11 and the displaycontrol processing of STEP S12. The screen generating processing beingperformed here is different from the above described processing, in that“FAX TRANSMITTING OPERATION” has been added as a second operation ID ascompared in STEP S34. Hereinafter, descriptions of the processing shownin FIGS. 5 and 6 identical to those of the above described processingwill be omitted, and the differences therebetween will be mainlydescribed.

First, the output program 65 determines that the first operation ID “FAXTRANSMITTING OPERATION” corresponding to the program ID “004” isidentical with the second operation ID “FAX TRANSMITTING OPERATION”(“Yes” in STEP S34), and activates the plug-in icon 124 corresponding tothe program ID “004”, in STEP S35. In other words, in a case where thereis a plurality of second operation IDs, in STEP S34, the output programdetermines whether each of the plurality of second operation IDs isidentical with the first operation ID. Also, when the first operation IDcorresponding to the plug-in icon 124 represents “FAX TRANSMITTINGOPERATION” (“FAX TRANSMITTING OPERATION” in STEP S41), the outputprogram 65 includes the plug-in icon 124 in the FAX icon area 126 inSTEP S43.

The main menu shown in FIG. 9B is different from the main menu shown inFIG. 9A, in that the operation icon 117 and the plug-in icon 124 arefurther displayed, and the device icon 119 is displayed in stead of thedevice icon 118. The operation icon 117 is an example of an operationdesignation object or a second object corresponding to the FAXtransmitting operation. When the MFP 10B capable of the FAX transmittingoperation is selected on the device selection screen, the operation icon117 is newly included in the main screen. The plug-in icon 124 isdisposed in the FAX icon area 126 adjacent to the operation icon 117corresponding to the FAX transmitting operation. Also, since the FAXicon area 126 is newly provided, the width of the print icon area 125narrows. Further, the device icon 119 represents that the MFP 10Bidentified by the device ID “MFP-B” included in the device informationrecord has been designated as a designation device.

Also, in the main screen shown in FIG. 9B, the plug-in icon 124 islarger than the plug-in icons 121 to 123. In other words, in the screengenerating processing, the output program 65 makes the size of theplug-in icon 124, which is not displayed in the main screen shown inFIG. 8B but is displayed in the main screen shown in FIG. 9B, largerthan the plug-in icons 121 to 123 which are displayed in both of themain screens shown in FIGS. 8B and 9B.

In other words, the output program 65 makes the display mode of theplug-in icon 124, which is determined so as not to be included in theselection screen in the screen generating processing immediately beforeperformance of STEP S55 and determined so as to be included in thescreen in the screen generating processing immediately after performanceof STEP S55, different from the other plug-in icons 121 to 123. Also,the method of making the display mode of the plug-in icon 124 differentfrom the other icons is not limited to the above described example. Forexample, the plug-in icon 124 may be surrounded by a frame, or an imagerepresenting that the plug-in icon 124 is a newly displayed icon may beadded.

Subsequently, when the output program 65 receives selection of one ofthe operation icons 116 and 117 via the user interface 54 (“OPERATIONICON” in STEP S13), it temporarily stores the operation ID of the outputoperation corresponding to the selected the operation icon 116 or 117,and the device ID written on the device icon 119, in the data storagearea 62B. The temporarily stored operation ID is a designation operationID identifying the designation operation. The temporarily stored deviceID is a designation device ID identifying the designation device.

In the present embodiment, on the assumption that the operation ID ofthe printing operation has been temporarily stored as the designationoperation ID, and the device ID “MFP-B” has been temporarily stored asthe designation device ID, the following description will be continued.Also, the processing of STEPS S15 to S22 represent an example of aprocessing in a case where the printing operation is designated as adesignation operation. In other words, in a case where any other outputoperation is designated as a designation operation, processing differentfrom STEPS S15 to S22 may be performed.

Subsequently, in STEP S15, the output program 65 performs a screengenerating processing of generating a data acquisition source selectionscreen. The processing content of the screen generating processing iscommon to STEPS S11 and S15. Subsequently, in STEP S16, the outputprogram 65 controls the display 53 to display the data acquisitionsource selection screen generated in STEP S15. The processing of STEPS16 is an example of a display control processing. FIG. 10A shows anexample of the data acquisition source selection screen.

The data acquisition source selection screen is an example of aselection screen or a first program selection screen which is displayedwhen the operation icon 116 is selected. The data acquisition sourceselection screen is a screen for making the user select an acquisitionsource of designation data to be used in the printing operation. Thedata acquisition source selection screen shown in FIG. 10A includesacquisition source icons 133 and 134, and the plug-in icons 121 and 122.The acquisition source icon 133 corresponds to a photo data folder ofthe data storage area 62B which is a photo data acquisition source. Theacquisition source icon 134 corresponds to a server (not shown) on theInternet.

Also, the data acquisition source selection screen includes only theprint icon area 125, corresponding to the printing operation which isthe designation operation, of the icon areas 125, 126, and 127, and doesnot include the FAX icon area 126 and the dedicated icon area 127. Inother words, the data acquisition source selection screen includes onlythe plug-in icons 121 and 122, which are disposed in the print icon area125, of the plug-in icons 121 to 124, and does not include the plug-inicons 123 and 124 which are disposed in the FAX icon area 126 and thededicated icon area 127. Also, in the print icon area 125, the plug-inicon 121 is disposed on the upper side from the plug-in icon 122.

Subsequently, in STEP S17, the output program 65 receives selection ofan icon included in the data acquisition source selection screen, viathe user interface 54. The processing of STEP S17 is an example of afirst receiving processing. For example, when the output program 65receives selection of the acquisition source icon 133 via the userinterface 54 (“ACQUISITION SOURCE ICON” in STEP S17), in STEP S18, theoutput program controls the display 53 to display a photo data selectionscreen. Subsequently, in STEP S19, the output program 65 receivesselection of an icon included in the photo data selection screen via theuser interface 54.

FIG. 10B shows an example of the photo data selection screen. A photodata selection screen shown in FIG. 10B includes a plurality of dataicons 135, 136, 137, 138, 139, and 140. The data icons 135 to 140 areexamples of data designation objects corresponding to content data whichcan be designated as designation data. The data icons 135 to 140correspond to photo data stored in the photo data folder of the datastorage area 62B. Meanwhile, in a case where the acquisition source icon134 is selected, in STEP S18, the output program 65 controls the display53 to display a data selection screen including a data iconcorresponding to content data stored in a server on the Internet.

Subsequently, when the output program 65 receives selection of one ofthe data icons 135 to 140 via the user interface 54 (“Yes” in STEP S19),the output program temporarily stores content data corresponding to theselected data icon, as designation data, in the data storage area 62B.Alternatively, the output program 65 may temporarily store informationspecifying the designation data (hereinafter, referred to as a“designation data ID”), not the designation data, in the data storagearea 62B. The designation data ID may be, for example, informationindicating the storage location of the designation data, or may be a URLindicating the designation data. In the present embodiment, on theassumption that the data icon 135 is selected, the following descriptionwill be continued.

Subsequently, in STEP S20, the output program 65 controls the display 53to display a preview screen. FIG. 11A shows an example of the previewscreen. A preview screen shown in FIG. 11A includes a preview image 141and a “PRINT” icon. The preview image 141 is an image which will beobtained by outputting the designation data designated in STEP S19 bythe designation operation designated in STEP S13. In other words, thepreview image 141 represents a image which will be obtained by recordinga photo, represented by the photo data corresponding to the data icon135, on a recording sheet. The “PRINT” icon is an example of an outputinstructing icon corresponding to an instruction for making thedesignation device perform the printing operation.

Subsequently, in STEP S21, the output program 65 receives selection ofan icon included in the preview screen, via the user interface 54. Whenthe output program 65 receives selection of the “PRINT” icon via theuser interface 54 (“Yes” in STEP S21), in STEP S22, the output programtransmits print instructing information to the MFP 10B via the networkinterface 55. The processing of STEP S22 is an example of an outputinstructing processing.

The print instructing information is an example of output instructinginformation for making the designation device perform the printingoperation of the designation data. The print instructing information ofthe present embodiment includes the photo data corresponding to the dataicon 135, and the designation operation ID of the printing operation. Inthis case, the output program 65 transmits the corresponding printinstructing information to the MFP 10B which is the designation device,via the network interface 55. Also, the print instructing informationmay include a designation data ID such as a URL, not the designationdata.

Meanwhile, although not shown, the control program 35 of the MFP 10Breceives the print instructing information from the portable terminal 50via the network interface 25. Then, the control program 35 controls theprinter 11 to perform the printing operation according to the receivedprint instructing information. In other words, the printer 11 recordsthe photo represented by the photo data included in the printinstructing information, on a recording sheet.

Meanwhile, when the output program 65 receives selection of one of theplug-in icons 121 to 124 via the user interface 54 (“PLUG-IN ICON” inSTEP S13 or S17), in STEP S23, the output program activates an externalprogram corresponding to the selected plug-in icon. The processing ofSTEP S23 is an example of an activation processing. In the presentembodiment, on the assumption that the plug-in icon 121 is selected, thefollowing description will be continued.

For example, activation of the external program can be implement by anAPI (hereinafter, referred to as the “activation API”) which the OS 64provides. The output program 65 designates, for example, the program IDof the map program 66, as a parameter, and executes the activation API.When the activation API is executed, the OS 64 activates the map program66 and executes the map program in the foreground, and executes theoutput program 65 in the background. However, the method of activatingan external program is not limited thereto, and may use, for example, aso-called sharing function which the Android OS provides.

When the map program 66 is activated by the OS 64, it controls thedisplay 53 to display a map designation screen. FIG. 11B shows anexample of the map designation screen. A map designation screen shown inFIG. 11B includes a map display area 142, and a “PREVIEW” icon. In thiscase, the map program 66 receives user's operations on the map displayarea 142 and the “PREVIEW” icon, via the user interface 54.

In the map display area 142, a part of a map image which the map program66 can display is displayed. When the map program 66 is activated, inthe map display area 142, for example, a map image 143 including thecurrent location of the portable terminal 50 acquired from a GPS isdisplayed. For example, the map program 66 acquires map image datarepresenting the map image 143, as a display object, from a server (notshown) via the network interface 55. Specifically, the map program 66transmits a map image data request to the server via the networkinterface 55, and receives the map image data as a response from theserver via the network interface 55.

Thereafter, when the map program 66 receives a user's operation on theposition of the map display area 142 via the user interface 54, itchanges the map image 143 to be displayed in the map display area 142.The map program 66 acquires map image data representing the changed mapimage 143 from the server. For example, the map image 143 which isdisplayed in the map display area 142 is slid in response to a slideoperation, and is reduced in response to a pinch-in operation, and isenlarged in response to a pinch-out operation.

Also, when the map program 66 receives selection of the “PREVIEW” iconvia the user interface 54, it stores the map image data representing themap image 143 displayed in the map display area 142, in the data storagearea 62B. Subsequently, the map program 66 notifies the data ID of themap image data stored in the data storage area 62B, as a return value ofthe activation API, to the output program 65, and finishes processing asa plug-in. As a result, the OS 64 executes the output program 65 in theforeground again.

When the output program 65 is executed in the foreground again by the OS64, it acquires the data ID of the map image data as the return value ofthe activation API (“Yes” in STEP S24). Subsequently, the output program65 temporarily stores the acquired data ID as a designation data ID inthe data storage area 62B. The processing of STEP S24 is an example ofan acquiring processing. The data ID acquired as the return value of theactivation API is an example of designation information. Subsequently,the output program 65 performs the processing of STEP S20 and thesubsequent steps. In this case, the preview image is an image which willbe obtained by recording the map image 143 on a recording sheet. Theothers are the same as those in the above described processing, and willnot be described again.

Also, although not shown, when the output program 65 receives selectionof the operation icon 117 shown in FIG. 9B, via the network interface 55(“OPERATION ICON” in STEP S13, the output program generates a phonenumber acquisition source selection screen for making the user select anacquisition source of, for example, a phone number specifying anexternal device which is a FAX transmission destination, in STEP S15,and controls the display 53 in STEP S16 to display the generated phonenumber acquisition source selection screen. The phone number acquisitionsource selection screen is an example of a selection screen or a secondprogram selection screen which is displayed when the operation icon 117is selected.

The phone number acquisition source selection screen includes only theFAX area 126, corresponding to the FAX transmitting operation which isthe designation operation, of the icon areas 125, 126, and 127, and doesnot include the print icon area 125 and the dedicated icon area 127. Inother words, the phone number acquisition source selection screenincludes only the plug-in icon 124, which is disposed in the FAX area126, of the plug-in icons 121 to 124, and does not include the plug-inicons 121, 122, and 123 which are disposed in the print icon area 125and the dedicated icon area 127.

Meanwhile, when the output program 65 receives selection of the plug-inicon 124 via the user interface 54 (“PLUG-IN ICON” in STEP S13 or S17),in STEP S23, the output program activates the program “C” using theactivation API. Subsequently, in STEP S24, the output program 65acquires FAX data generated by the program “C”, and a phone number whichis desgated by the user from the program “C”, as return values of theactivation API. The phone number acquired as a return value of theactivation API is an example of the designation information.

Meanwhile, when the output program 65 receives designation of contentdata to be used in the FAX transmitting operation by a processing (notshown), in STEP S20, the output program controls the display 53 todisplay a preview screen. In this case, the preview screen is an imagewhich will be obtained by faxing the content data to a designationdevice and recording the content data on a recording sheet by thedesignation device. Also, the corresponding preview screen includes a“FAX” icon. The “FAX” icon is an example of an output instructing objectcorresponding to an instruction for making the designation deviceperform the FAX transmitting operation of the designation data.

In this case, when the output program 65 receives selection of the “FAX”icon via the user interface 54 (“Yes” in STEP S21), in STEP S22, theoutput program transmits FAX instructing information to the designationdevice via the network interface 55. The FAX instructing information isan example of output instructing information for making the designationdevice perform the FAX transmitting operation of the designation data.The FAX instructing information of the present embodiment includes thedesignation data, the designation operation ID of the FAX transmittingoperation, and the phone number specifying the external device which isthe FAX transmission destination. Also, the FAX instructing informationmay include a designation data ID such as a URL, not the designationdata.

Also, although not shown, the control program 35 receives the FAXinstructing information from the portable terminal via the networkinterface 25. Further, the control program 35 controls the FAX unit 13such that the FAX unit performs the FAX transmitting operation accordingto the received FAX instructing information. In other words, the FAXunit 13 faxes the map image data included as content data in the FAXinstructing information, to the external device specified by the phonenumber.

According to the above described embodiment, since the display modes ofthe plug-in icons 121 to 124 on the selection screen are determinedbased on the attribute information, it becomes possible for the user toeasily find one of the plug-in icons 121 to 124 corresponding to anexternal program for implementing a desired processing. Also, examplesof the display mode of each of the plug-in icons 121 to 124 includewhether to display the corresponding plug-in icon, whether to displaythe corresponding plug-in icon such that the corresponding plug-in isselectable, the display position of the corresponding plug-in icon onthe selection screen, and the display order of the corresponding plug-inicon in the plurality of plug-in icons 121 to 124.

Also, in the above described embodiment, each of the plug-in icons 121to 124 is displayed on the selection screen in a case where acorresponding first operation ID is identical with the second operationID, and is not displayed on the selection screen in a case where thecorresponding first operation ID is not identical with the secondoperation ID. Therefore, only external programs corresponding to outputoperations, which is able to be performed by designation device, becomeselectable. As a result, it becomes possible for the user to easily findan external program for implementing a desired processing. Meanwhile, ina case where any designation device has not been designated, it ispreferable to determine a display mode in which all of the plug-in icons121 to 124 are selectable. As a result, it is possible to avoid asituation where it is impossible to select an external program forimplementing a desired processing.

Also, in the above described embodiment, an example in which theinactive plug-in icon 124 is not displayed has been described. However,the display mode where the plug-in icon 124 is not selectable is notlimited thereto. For example, the inactive plug-in icon 124 may begrayed out on the selection screen. In this case, even via the outputprogram 65 receives selection of the plug-in icon 124 grayed out, viathe user interface 54, the output program does not need to perform theactivation processing. The mode in which the plug-in icon 124 is grayedout is an example of a mode in which the plug-in icon 124 is notselectable.

Also, like in the above described embodiment, in a case where the deviceselecting processing is performed, it is preferable to re-determine thedisplay modes of the plug-in icons 121 to 124 according to outputoperations which the changed designation device is able to perform.Further, when the plug-in icon 124 becomes selectable due to changing ofthe designation device, the plug-in icon 124 is displayed in a displaymode different from that of the other plug-in icons 121 to 123, suchthat the plug-in icon 124 can easily catch the eye of the user. As aresult, it becomes easier for the user to find an external program newlyinstalled, for example, in the portable terminal 50.

Also, in the above described embodiment, the operation icon 116 and theplug-in icons 121 and 122 associated with the printing operation aredisposed close together, and the operation icon 117 and the plug-in icon124 associated with the FAX transmitting operation are disposed closetogether. Further, the plug-in icon 123 of the external program aboutwhich it is unclear what output operation corresponds to the externalprogram is disposed in the dedicated icon area 127 different from theprint icon area 125 and the FAX area 126. As described above, iconsassociated with a common output operation are displayed in a group.Therefore, it becomes easier for the user to find an external programfor implementing a desired processing. Further, in each of the iconareas 125, 126, and 127, plug-in icons are rearranged based on theirpriorities. Therefore, it becomes easier for the user to find a plug-inicon having a high priority.

Moreover, according to the above described embodiment, not only on themain screen, but also on the data acquisition source selection screenwhich is displayed when the operation icon 116 is selected, or on thephone number acquisition source selection screen which is displayed whenthe operation icon 117 is selected, the plug-in icons are displayed.Also, on a screen which is displayed after a designation operation isdesignated, only plug-in icons associated with the correspondingdesignation operation are displayed. Therefore, it becomes easier forthe user to find an external program for implementing a desiredprocessing. However, determination on whether to display each of theplug-in icons 121 to 124 on which screen is not limited to the abovedescribed example.

For example, a program information record may further include the screenIDs of screens in which corresponding plug-in icons is to be included.The screen IDs are examples of screen identification information. Inthis case, when the screen ID of a screen which is generated in a screengenerating processing is included in the program information record, theoutput program 65 may activate corresponding plug-in icons. Meanwhile,when the screen ID of a screen which is generated in a screen generatingprocessing is not included in the program information record, the outputprogram 65 may deactivate corresponding plug-in icons. For example, inorder to implement the display modes of the above described embodiment,the program IDs “001” and “002” need to be associated with the screenIDs of the main screen and the data acquisition source selection screen,and the program ID “003” needs to be associated with the screen ID ofthe main screen, and the program ID “004” needs to be associated withthe screen IDs of the main screen and the phone number acquisitionsource selection screen.

Also, an example in which, in the portable terminal 50 of the abovedescribed embodiment, various programs stored in the program storagearea 62A of the memory 62 are executed by the CPU 61, whereby individualprocessing to be performed by the controller of this disclosure areimplemented has been described. However, the configuration of thecontroller is limited thereto, and the whole or a part of the controllermay be implemented by hardware such as an IC and the like.

Further, this disclosure can be implemented as the portable terminal 50,and can also be implemented as a program making the portable terminal 50perform the processing. Furthermore, the corresponding program may berecorded in non-transitory recording media to be provided. Thenon-transitory recording media may include not only CD-ROMs and DVD-ROMsbut also a memory mounted on a server which can be connected to theportable terminal 50 via the communication network 101. Further, theprogram stored in the memory of the server may be distributed asinformation or a signal representing the corresponding program, via thecommunication network 101 such as the Internet.

What is claimed is:
 1. A non-transitory computer-readable medium storingoutput instructions to control a portable terminal including a display,a user interface, a memory, and a network interface, the networkinterface being configured to electrically connect to a plurality ofcontent output devices, the output instructions, when executed by theportable terminal, causing the portable terminal to function as anoutput application, the memory being configured to store an operationsystem and a plurality of content source instructions, each of thecontent source instructions, when executed by the portable terminal,causing the portable terminal to function as each of a plurality ofcontent applications; the output application causing the portableterminal to perform processes comprising: displaying, a plurality ofoptions on the display, the options corresponding to the plurality ofcontent output devices respectively; performing, in response to a deviceselecting operation of selecting one of the plurality of options via theuser interface, storage control process of storing device identificationinformation in the memory, the device identification informationidentifying the content output device corresponding to the selection,wherein the output application supports a plurality of output processes,each of the plurality of content output devices is able to execute anyoutput processes of the plurality of output processes supported by theoutput application, the output process executable by the plurality ofthe content output devices is different depending on the content outputdevice, and the plurality of output processes is a process of outputtinga content represented by a content data; displaying, a plurality ofoptions on the display, the options corresponding to the plurality ofthe output processes supported by the output application respectively;receiving a process selecting operation to select any of the pluralityof the options via the user interface; performing a first transmissionprocess of transmitting a first command to the selected device via thenetwork interface, the first command instructing to output the contentby a first process, the selected device being a content output deviceidentified by the device identification information stored in the memoryby the storage control process, the first process being an outputprocess indicated by an option selected by the process selectingoperation, the content being a content represented by a content dataindicated by an option selected in a content selecting operation;performing an installed application specifying process of specifying aplurality of installed content applications, each installed contentapplication being an application installed in the portable terminal, ofthe plurality of content applications corresponding to the outputapplication; determining, for each of the plurality of the installedcontent applications specified in the installed application specifyingprocess, whether the output process executable by the selected device isincluded in the any output processes supported by the specified contentapplication, each of the plurality of the installed content applicationsbeing supporting any output process of the plurality of the outputprocesses supported by the output application, the output processsupported by the plurality of the installed content applications beingdifferent depending on the content application, the selected devicebeing a content output device identified by the device identificationinformation stored in the memory by the storage control process;performing, for each of the plurality of the installed contentapplications specified in the installed application specifying process,an activatable specifying process, wherein when the output processexecutable by the selected device is included in the any outputprocesses supported by the specified content application, it isspecified in the activatable specifying process that the contentapplication is activatable, and when the output process executable bythe selected device is not included in the any output processessupported by the specified content application, it is not specified inthe activatable specifying process that the content application isactivatable; controlling the display to display a selection screen, theselection screen including an activatable option corresponding to theinstalled content application that is specified as it is activatable inthe activatable specifying process, of the plurality of the installedcontent applications specified in the installed application specifyingprocess, and not including an activatable option corresponding to theinstalled content application that is not specified as it is activatablein the activatable specifying process, of the plurality of the installedcontent applications specified in the installed application specifyingprocess, the activatable option being an option capable of activating acorresponding content application; performing, in response to receivingan application selecting operation to select the activatable optionincluded in the selection screen, activation process of activating thecontent application corresponding to the selected activatable option;performing, content-data identification information acquiring process ofacquiring content-data identification information that is output by thecontent application activated by the activation process, thecontent-data identification information being identification informationto identify the content data used in the output process supported by thecontent application activated by the activation process; and performinga second transmission process of transmitting a second command to theselected device via the network interface, the second commandinstructing to output a second content by a second process, the selecteddevice being a content output device identified by the deviceidentification information stored in the memory the storage controlprocess, the second process being an output process supported by thecontent application activated in the activation process, the secondcontent is a content represented by a content data indicated bycontent-data identification information acquired by the content-dataidentification information acquiring process.
 2. A portable terminalcomprising: a display; a user interface; a memory; a network interfaceconfigured to electrically connect to a plurality of content outputdevices; and a controller performing processes including: displaying, aplurality of options on the display, the options corresponding to theplurality of content output devices respectively; performing, inresponse to a device selecting operation of selecting one of the aplurality of options via the user interface, storage control process ofstoring device identification information in the memory, the deviceidentification information identifying the content output devicecorresponding to the selection, wherein the output application supportsa plurality of output processes, each of the plurality of content outputdevices is able to execute any output processes of the plurality ofoutput processes supported by the output application, the output processexecutable by the plurality of the content output device is differentdepending on the content output device, and the plurality of outputprocesses is a process of outputting a content represented by a contentdata; displaying, a plurality of options on the display, the optionscorresponding to the plurality of the output processes supported by theoutput application respectively; receiving a process selecting operationto select any of the plurality of the options via the user interface;performing a first transmission process of transmitting a first commandto the selected device via the network interface, the first commandinstructing to output the content by the process, the selected devicebeing a content output device identified by the device identificationinformation stored in the memory by the storage control process, thefirst process being an output process indicated by an option selected bythe process selecting operation, the content being a content representedby a content data indicated by an option selected in a content selectingoperation; performing an installed application specifying process ofspecifying a plurality of installed content applications, each installedcontent application being an application installed in the portableterminal, of the plurality of content applications corresponding to theoutput application; determining, for each of the plurality of theinstalled content applications specified in the installed applicationspecifying process, whether the output process executable by theselected device is included in the any output processes supported by thespecified content application, each of the plurality of the installedcontent applications being supporting any output process of theplurality of the output processes supported by the output application,the output process supported by the plurality of the installed contentapplications being different depending on the content application, theselected device being a content output device identified by the deviceidentification information stored in the memory by the storage controlprocess; performing, for each of the plurality of the installed contentapplications specified in the installed application specifying process,an activatable specifying process, wherein when the output processexecutable by the selected device is included in the any outputprocesses supported by the specified content application, it isspecified in the activatable specifying process that the contentapplication is activatable, and when the output process executable bythe selected device is not included in the any output processessupported by the specified content application, it is not specified inthe activatable specifying process that the content application isactivatable; controlling the display to display a selection screen, theselection screen including an activatable option corresponding to thecontent application that is specified as it is activatable in theactivatable specifying process, of the plurality of the installedcontent applications specified in the installed application specifyingprocess, and not including an activatable option corresponding to thecontent application that is not specified as it is activatable in theactivatable specifying process, of the plurality of the installedcontent applications specified in the installed application specifyingprocess, the activatable option being an option capable of activating acorresponding content application; performing, in response to receivingan application selecting operation to select the activatable optionincluded in the selection screen, activation process of activating acontent application corresponding to the selected activatable option;performing, content-data identification information acquiring process ofacquiring content-data identification information that is output by thecontent application activated by the activation process, thecontent-data identification information being identification informationto identify the content data used in the output process supported by thecontent application activated by the activation process; and performinga second transmission process of transmitting a second command to theselected device via the network interface, the second commandinstructing to output a second content by a second process, the selecteddevice being a content output device identified by the deviceidentification information stored in the memory the storage controlprocess, the second process being an output process supported by thecontent application activated in the activation process, the secondcontent is a content represented by a content data indicated bycontent-data identification information acquired by the content-dataidentification information acquiring process.